Stimulus signal generation method to maximize dynamic range in frequency response function calculations

ABSTRACT

A method for generating a stimulus signal for conducting frequency response function calculations maximizes the overall dynamic range of the calculations possible by balancing the requirements for dynamic range between the input channels of a Fourier analyzer used for monitoring the input and output of the system under analysis. A preferred version of the method includes the steps of estimating the frequency response function of the system under analysis, inverting the estimated frequency response function, taking the square root of the inverted estimated frequency response function, randomizing the phase of the inverse square-root estimated frequency response function, converting the phase-randomized inverse square-root estimated frequency response function to a time domain test signal, scaling the time domain test signal as necessary to produce the stimulus signal for conducting frequency response function calculations. If more accuracy is required, the method can be repeated using the results of one calculation as the estimated frequency response function input to the next calculation iteration. As the method is repeated and increasingly accurate results are obtained, the cross power spectrum taken between the stimulus signal and the output signal ideally becomes very flat within a few iterations, although practical considerations may place a limit on how completely this occurs.

BACKGROUND OF THE INVENTION

This invention relates to the field of frequency response functioncalculation, and more particularly to the field of stimulus signalgeneration for frequency response function calculations with maximumdynamic range.

A frequency response function describes the relationship between theinput and output of a physical system. The system involved can be eithermechanical, electrical, or some other type of linear physical system. Tocharacterize such systems, it desirable to be able to accuratelycalculate their frequency response function, which in most cases is avery close approximation of the actual transfer function of the system.

The frequency response function is complex, since for each frequencycomponent of the input to the system, there is both a magnitude valueand phase value to the system's response.

A function, x(t), describes the magnitude of the stimulus signal to thesystem as a function of time. The Fourier transform function, X(f), ofthe stimulus signal, x(t), describes the magnitude and phase content ofthe stimulus signal as a function of frequency. Similarly, anotherfunction, y(t), describes the magnitude of the output from the system asa function of time. And, there is a related Fourier transform function,Y(f), that describes the magnitude and phase of the output signal, y(t),as a function of frequency.

    X(f)=Fourier Transform of x(t)                             (1)

    Y(f)=Fourier Transform of y(t)                             (2)

If the stimulus and output functions of a system, x(t) and y(t), aremeasured, the corresponding Fourier Transforms, X(f) and Y(f), can becalculated using a Fast Fourier Transform (FFT) algorithm or othersimilar method. Then, the frequency response function, H(f), can becalculated according to the following relationship: ##EQU1## where,Cspec(X,Y) is the cross power spectrum between X(f) and Y(f), Aspec(X)is the auto power spectrum of Y(f), and H(f) is the frequency responsefunction of the system, which in most cases is a good estimation of theactual transfer function of the system, H(f).

Modern instruments, such as the 2642 Personal Fourier Analyzer made byTektronix, Inc., Beaverton, Oreg., provide a means for supplyingstimulus to a system and measuring its response. The computationalfacilities and other capabilities of this instrument are described inthe 2641/2642 Fourier Analyzer User's Guide and the 2641/2642 FourierAnalyzer TurboPac Application Library, both of which are herebyincorporated by reference.

Among the relevant capabilities and computational facilities availablein the 2642 Personal Fourier Analyzer are the ability to perform theFast Fourier Transform (FFT), the Inverse Fourier Transform (IFT), andthe ability to calculate the frequency response function, H(f), betweentwo signals on its inputs. The latter computation necessarily entailsperforming the cross power spectrum (Cspec) between the stimulus andoutput channels and the auto power spectrum (Aspec) on the stimuluschannel.

Despite the automation of all of these computational facilities in thisinstrument, there are limitations to the calculations that can be madethat arise from its inherent limitations. Specifically, there is a limitto the dynamic range of the frequency characteristics that can beaccurately measured by each input channel. The dynamic range of achannel refers to the overall ability of the instrument to distinguishbetween real signals and those artifacts and distortions that inevitablyoccur during measurement and computation. These include such factors asthe non-linearity of analog components and A/D converters, signalleakage through power supplies and logic signals, jitter in the samplingclock, aliasing products, and truncation and other errors in thearithmetic associated with digital filtering, FFT computations, andaveraging operations.

The dynamic range specification for the 2642 Personal Fourier Analyzeris 75 dB. This means that if a known-to-be-pure full-scale sine wave isapplied to one of the inputs of the Analyzer, all of the associatedspectral artifacts will be below the full scale by at least 75 dB. But,no matter how good the dynamic range of the input channels may be, thereis still always some such limit.

One of the original methods of characterizing the frequency responsefunction of a system under analysis, one that does not require powerfulFFT analyzers, is to provide a pure sinusoidal signal at one frequencyat the input, and then to measure the output of the system at thatfrequency at the output. By slowly varying the frequency, and measuringthe system output at each frequency, the system can eventually becharacterized for all frequencies of interest. This approach requires alot of time, but does not require a lot of dynamic range on the inputand output channels, since the settings of the input and output channelscan be varied from frequency to frequency as the sweeping of thebandwidth of interest occurs.

Another approach, one that is preferred by many because it characterizesthe whole bandwidth of interest very rapidly, is to apply broadbandnoise with a flat power spectrum, i.e., white noise, such that the Aspecof X(f) approaches a constant, to the system under analysis over thebandwidth of interest. The spectrum measured at the output of the systemis then a close approximation of the system's estimated frequencyresponse function, H(f), directly.

A variation on the foregoing method is too anticipate, by estimation orrough prior calculation, the system response and provide a signal sourcethat is the inverse of the estimated frequency response function, 1/H(f). The system output function, Y(f), will then be approximately aconstant. But, to the extent that it is not a constant, the standardcalculation of the transfer function can proceed, per equation (3)above, and the results can be used to refine the input function estimateand the process repeated.

From the point of view of the dynamic range limitations of the Fourieranalyzer being used to make these measurements, both of these approachessuffer from the same major limitation. In each case, one channel, eitherthe input channel or the output channel, has to supply most of thedynamic range required to make the measurement. If the input powerspectrum is flat, the full variation of the frequency response functionappears in the output spectrum, while if the output power spectrum ismade flat the full range of the inverted frequency response functionappears in the input spectrum.

What is desired is a method for generating a stimulus signal forconducting frequency response function calculations that maximizes theoverall dynamic range of the calculations possible by balancing therequirements for dynamic range between the two analyzer channels beingused to make the calculation.

SUMMARY OF THE INVENTION

Accordingly, the present invention is a method for generating a stimulussignal for conducting frequency response and other similar stimulusresponse function calculations that maximizes the overall dynamic rangeof the calculations possible by balancing the requirements for dynamicrange between the analyzer channels monitoring the input and output ofthe system under analysis.

This method includes the steps of estimating the frequency responsefunction of the system under analysis, inverting the estimated frequencyresponse function, taking the square root of the inverted estimatedfrequency response function, randomizing the phase of the inversesquare-root estimated frequency response function, converting thephase-randomized inverse square-root estimated frequency responsefunction to a time domain test signal, scaling the time domain testsignal as necessary to produce a stimulus signal for conductingfrequency response function calculations that allocates the requirementfor amplitude dynamic range between the two signal analyzers channelsused to monitor the stimulus signal and the output signal of the systemunder analysis.

If more accuracy is required, the method can be repeated using theimproved estimate of the frequency response function from onecalculation as the starting point for the next iteration. A the methodis repeated and increasingly accurate results are obtained, the crosspower spectrum taken between the stimulus signal and the output signalwill ideally converge toward a flat profile within a few iterations.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of the test setup used to practice the presentinvention.

FIG. 2 is a logic flow diagram of the procedure used to practice thepresent invention.

DETAILED DESCRIPTION

Referring to FIG. 1, an arbitrary waveform generator 10 produces atime-varying stimulus signal, x(t), having a frequency domainrepresentation X(f). This stimulus signal, x(t), is applied to the inputof system under analysis 12 having a frequency response function H(f).As a result of this stimulus, system under analysis 12 produces atime-varying output signal, y(t).

A Fourier analyzer 20 has an input channel 22 connected to monitor thestimulus signal x(t) and another input channel 24 connected to monitortheoutput signal y(t). A function processor 26 can perform a variety offunctions on the signals monitored by the Fourier analyzer 20, eitherindividually or between channels. The functions that the functionprocessor can perform include FFT, IFT, and, between channels, frequencyresponse functions, H(f).

Referring to FIG. 2, the procedure used to effect the present inventionbegins with an estimate of the frequency response function 30. Thisfirst estimate can easily be produced by applying broadband noise with aflat power spectrum, i.e., white noise, such that the Aspec of X(f)equals a constant, to the system under analysis over the bandwidth ofinterest and then converting the output signal to the frequency domain,as described above.

The estimated function is then inverted 32 and its square-root is taken34.Inversion of frequency domain functions and taking their square rootsare both facilities available in the 2642 Personal Fourier Analyzer.Preferably, the phase of the square-root inverse estimated frequencyresponse function is next randomized. Randomizing the phase 36 isoptional, but preferred because it leads to a time domain stimulussignal that has its total energy more evenly distributed over a longertime, and is therefore more conserving of the available dynamic range ofthe channel22 used to monitor the stimulus signal. Phase randomizationis another facility offered by 2642 Personal Fourier Analyzer.

The randomized square-root inverse estimated frequency response functionX(f) is then converted to the corresponding time domain stimulus signalx(t) by an inverse Fourier transform (IFT) 38. Optionally, butpreferably,this stimulus signal is then scaled as appropriate 40. It isdesirable to do this scaling, since using a stimulus signal with themaximum available amplitude conserves the dynamic range of the channel24 being used to monitor the output. This scaled time domain version ofthe randomized square-root of the inverse of the estimated frequencytransfer function isthen the stimulus signal, x(t), that is applied 42to the system under analysis 12.

The Fourier analyzer 20 monitors the stimulus signal x(t) 44 received onchannel one 22. This monitored time domain stimulus signal is convertedtothe frequency domain 46 to produce X(f) using an FFT process. Theanalyzer also monitors the system output signal y(t) 48 received onchannel two 24 and performs an FFT operation on it to convert it to thefrequency domain 50 producing Y(f). Alternatively, the randomizedsquare-root inverse estimated frequency response function produced instep 40 could be used directly as X(f). The function processor 26 thencalculates the cross power spectrum Cspec between these two functions,X(f) and Y(f). The function processor 26 also calculates the auto powerspectrum, Aspec, on the stimulus function, X(f). Using these, thefunction processor 26 is then able to calculate 52 the frequencyresponse function of the system under test according to equation (3)above.

If the result is sufficiently accurate 54, the calculation is complete62. Whether or not the result is sufficiently accurate 54 can bedetermined bycalculating how closely the Cspec (cross power spectrum) ofX(f) and Y(f) approximates a constant, since this Cspec function shouldapproach a constant value as the calculated 52 value of the frequencyresponse function approaches the true value. However, practicalmeasurement limitations may prevent the cross power spectrum fromactually achieving aperfectly flat profile. This could occur, forinstance, if the combined dynamic range of both channels is insufficientto measure the system undertest, or if poor connection to the systemunder analysis is interfering with the measurement.

Assuming an absence of the problems that preclude a better measurement,more accurate results can be obtained in a variety of ways if thepresent approximation is deemed to be insufficiently accurate, i.e.,step 54 exits "NO". The fastest, but least satisfactory, way to achieveimproved accuracy is to repeat step 42 through 54 a number of timesusing the same scaled time domain version of the randomized square-rootof the inverse ofthe estimated frequency response function according toloop 56. Averaging in this way over a number of calculations can beaccomplished automatically by the 2642 Personal Fourier Analyzer.

Improved results can be obtained by expanding the number of steps thatare repeated according to loop 58. Using this procedure, the samesquare-root inverse estimated frequency response function is usedrepeatedly, but the phase randomization step 36, the converting to thetime domain step 38, and the scaling step 40 are repeated again for eachtrial. This takes moretime but leads to improved results.

Maximum improvement is obtained when loop 60 is followed. This entailsrepeating all of the step from 32 to 54 on each pass. While thisapproach takes the longest time to obtain each new result, it veryquickly converges on the best possible estimate of the frequencyresponse functionin a few iterations.

While a preferred embodiment of the present invention has been shown anddescribed, it will be apparent to those skilled in the art that manychanges and modifications may be made without departing from theinventionin its broader aspects. The claims that follow are thereforeintended to cover all such changes and modifications as fall within thetrue spirit and scope of the invention.

I claim:
 1. A method for determining the frequency response function ofa system under analysis, the method comprising the steps of:(a)estimating the frequency response function of the system under analysis;(b) inverting the estimated frequency response function to obtain aninverse estimated frequency response function; (c) taking thesquare-root of the inverse estimated frequency response function toobtain a stimulus spectrum; (d) converting the stimulus spectrum from afrequency domain to a time domain to obtain a time domain stimulussignal; (e) applying the time domain stimulus signal to the system underanalysis; (f) monitoring an output signal from the system underanalysis; (g) converting the monitored output signal from the timedomain to the frequency domain to obtain an output spectrum; and (h)calculating an improved estimated frequency response function from theoutput spectrum and the stimulus spectrum.
 2. A method according toclaim 1 wherein step (a) comprises the steps of:applying a signal havinga predetermined spectrum to the system under analysis; and converting anoutput signal from the system under analysis to the frequency domain toobtain an estimated frequency response of the system under analysis. 3.A method according to claim 1 wherein step (c) comprises the stepsof:taking the square-root of the inverse frequency response function;and randomizing the phase of the square-root inverse estimated frequencyresponse function to obtain the stimulus spectrum.
 4. A method accordingto claim 1 wherein step (d) comprises the steps of:converting thestimulus spectrum from a frequency domain to a time domain; and scalingthe converted stimulus spectrum to obtain the time domain stimulussignal.
 5. A method according to claim 1 further comprising, after step(e), the steps of:monitoring the stimulus signal to the system underanalysis; converting the monitored stimulus signal from the time domainto the frequency domain to obtain an applied version of the stimulusspectrum; and using the applied version of the stimulus spectrum as thestimulus spectrum in step (h).
 6. A method according to claim 1 whereinstep (h) comprises the steps of:performing a cross spectrum calculationbetween the stimulus spectrum and the output spectrum to obtain aCspec(X,Y); performing an auto spectrum calculation on the stimulusspectrum to obtain an Aspec(X); and dividing Cspec(X,Y) by Aspec(X) toobtain the improved estimate of the frequency response function H(f). 7.A method according to claim 1 further comprising the step of:(i)determining how closely the cross power spectrum of the stimulusspectrum and the output spectrum approximates a constant.
 8. A methodaccording to claim 7 further comprising the step of:(j) repeating steps(b) through (i) employing the improved estimated frequency responsefunction from step (h) as the estimated frequency response function instep (b) until the cross power spectrum of the stimulus spectrum and theoutput spectrum approximates a constant to a predetermined level ofaccuracy.
 9. A method according to claim 8 wherein step (h) comprisesthe steps of:performing a cross spectrum calculation between thestimulus spectrum and the output spectrum to obtain a Cspec(X,Y);performing an auto spectrum calculation on the stimulus spectrum toobtain an Aspec(X); and dividing Cspec(X,Y) by Aspec(X) to obtain theimproved estimate of the frequency response function H(f).
 10. A methodaccording to claim 9 wherein step (a) comprises the steps of:applying asignal having a predetermined spectrum to the system under analysis; andconverting an output signal from the system under analysis to thefrequency domain to obtain an estimated frequency response of the systemunder analysis.
 11. A method according to claim 10 wherein step (c)comprises the steps of:taking the square-root of the inverse frequencyresponse function; and randomizing the phase of the square-root inverseestimated frequency response function to obtain the stimulus spectrum.12. A method according to claim 11 wherein step (d) comprises the stepsof:converting the stimulus spectrum from a frequency domain to a timedomain; and scaling the converted stimulus spectrum to obtain the timedomain stimulus signal.
 13. A method according to claim 12 furthercomprising, after step (e), the steps of:monitoring the time domainstimulus signal to the system under analysis; converting the monitoredstimulus signal from the time domain to the frequency domain to obtainan applied version of the stimulus spectrum; and using the appliedversion of the stimulus spectrum as the stimulus spectrum in step (h).14. A method according to claim 9 wherein step (c) comprises the stepsof:taking the square-root of the inverse frequency response function;and randomizing the phase of the square-root inverse estimated frequencyresponse function to obtain the stimulus spectrum.
 15. A methodaccording to claim 14 wherein step (d) comprises the steps of:convertingthe stimulus spectrum from a frequency domain to a time domain; andscaling the converted stimulus spectrum to obtain the time domainstimulus signal.
 16. A method according to claim 15 further comprising,after step (e), the steps of:monitoring the stimulus signal to thesystem under analysis; converting the monitored stimulus signal from thetime domain to the frequency domain to obtain an applied version of thestimulus spectrum; and using the applied version of the stimulusspectrum as the stimulus spectrum in step (h).
 17. A method according toclaim 9 wherein step (d) comprises the steps of:converting the stimulusspectrum from a frequency domain to a time domain; and scaling theconverted stimulus spectrum to obtain the time domain stimulus signal.18. A method according to claim 17 further comprising, after step (e),the steps of:monitoring the stimulus signal to the system underanalysis; converting the monitored stimulus signal from the time domainto the frequency domain to obtain an applied version of the stimulusspectrum; and using the applied version of the stimulus spectrum as thestimulus spectrum in step (h).
 19. A method according to claim 9 furthercomprising, after step (e), the steps of:monitoring the stimulus signalto the system under analysis; converting the monitored stimulus signalfrom the time domain to the frequency domain to obtain an appliedversion of the stimulus spectrum; and using the applied version of thestimulus spectrum as the stimulus spectrum in step (h).